package cc.magicjson.summary.errors.connection.closed.service;


import cc.magicjson.summary.errors.connection.closed.entity.User;

import java.sql.SQLException;
import java.util.List;


public interface UserService {
    void batchInsert(List<User> users);

    void insertOne(User user);

    List<User> findAll();

    void batchInsertWithDelay(List<User> users) throws InterruptedException;

    void insertByXml(User user);

    void simulateConnectionClosed() throws SQLException;

    /**
     * 使用JdbcTemplate进行批量插入
     * @param users 用户列表
     */
    void batchInsertWithJdbcTemplate(List<User> users);

    /**
     * 使用NamedParameterJdbcTemplate进行批量插入
     * @param users 用户列表
     */
    void batchInsertWithNamedParameter(List<User> users);

    /**
     * 使用优化的批量插入（rewriteBatchedStatements=true）
     * @param users 用户列表
     */
    void batchInsertWithRewriteBatchedStatements(List<User> users);

    Integer deleteAll();
}
